1. Technical Field
This application relates to media streams and, in particular, to the recovery of a media clock from time-stamped packets in media streams.
2. Related Art
Audio/video media streams may be transmitted from a transmitter to a receiver. A clock or counter at the receiver may be synchronized with a clock or counter at the transmitter through a clock synchronization protocol. Examples of clock synchronization protocols include IEEE (Institute of Electrical and Electronics Engineers) 1588:2002 Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems, and IEEE 802.1AS Precision Time Protocol (PTP) in IEEE 802.1AS Standard for Local and Metropolitan Area Networks—Timing and Synchronization for Time-Sensitive Applications in Bridged Local Area Networks.
The clock synchronization protocol may include a protocol for exchanging messages between nodes to synchronize the clock at the receiver with the clock at the transmitter or with a clock at some other node. For example, PTP nodes may exchange Ethernet messages that synchronize the PTP nodes to a common time reference by providing clock master selection and negotiation mechanisms, link delay measurement and compensation, and clock rate matching and adjustment mechanisms. PTP provides a Best Master Clock Algorithm (BMCA), which is an algorithm for negotiating which of the clocks in the PTP nodes is to be the master clock. In particular, BMCA describes a negotiation and a signaling mechanism that identifies a grandmaster node. Once the grandmaster node is selected, synchronization may begin automatically between the grandmaster node and the other PTP nodes known as slave nodes. PTP messages transmitted from the grandmaster node, the slave nodes, or both, may include a timestamp value taken from a Real-Time Counter (RTC). The slave nodes may compare a value of the RTC of the slave nodes with a value of the RTC at the grandmaster node. By using link delay measurement and compensation techniques, the slave nodes may synchronize the RTC in each of the slave nodes with the RTC at the grandmaster node. Once the RTCs are synchronized with each other, periodic messages may provide information that enables the PTP rate matching adjustment algorithms. As a result, the PTP nodes may remain synchronized to a common time. However, the clock synchronization protocol does not perform media clock recovery.